function Point_List = FindRing(SP_Ave, Point_Number, Threshold)
    FBZ = size(SP_Ave);
    Point_List = [];
    if FBZ(1) == FBZ(2) && mod(FBZ(1), 2) == 0
        for Point_Index = 1:Point_Number/4
            x_lists = linspace(FBZ(2)/2+1+(FBZ(1)+FBZ(2))/Point_Number*(Point_Index-1), FBZ(2)/2-(FBZ(1)+FBZ(2))/Point_Number*(Point_Index-1), FBZ(1));
            x_lists = round(x_lists)';
            y_lists = 1:FBZ(1);
            SP_Online = diag(SP_Ave(y_lists, x_lists));
            Zero_Online = find(SP_Online<Threshold & SP_Online>-Threshold);
            Zero_Online1 = [y_lists(round(length(find(Zero_Online<=32))/2)), x_lists(round(length(find(Zero_Online<=32))/2))];
            Zero_Online2 = round(length(find(Zero_Online>=33))/2)+length(find(Zero_Online<=32));
        end
        for Point_Index = Point_Number/4+1:Point_Number/4*3
            x_lists = 1:FBZ(1);
            x_lists = x_lists';
            y_lists = linspace(FBZ(1)-(FBZ(1)+FBZ(2))/Point_Number*(Point_Index-Point_Number/4), 1+(FBZ(1)+FBZ(2))/Point_Number*(Point_Index-Point_Number/4), FBZ(2));
            y_lists = round(y_lists);
            plot(x_lists, y_lists)
            xlim([1, FBZ(2)]);
            ylim([1, FBZ(1)]);
            set(gca,'ydir','reverse')
            pause(0.01);
        end
        for Point_Index = Point_Number/4*3+1:Point_Number
            x_lists = linspace(1+(FBZ(1)+FBZ(2))/Point_Number*(Point_Index-Point_Number/4*3), FBZ(1)-(FBZ(1)+FBZ(2))/Point_Number*(Point_Index-Point_Number/4*3), FBZ(1));
            x_lists = round(x_lists)';
            y_lists = 1:FBZ(1);
            plot(x_lists, y_lists)
            xlim([1, FBZ(2)]);
            ylim([1, FBZ(1)]);
            set(gca,'ydir','reverse')
            pause(0.01);
        end
    else
        disp('sorry');
    end
end